package cn.kgc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "interview")
@JsonInclude(value = JsonInclude.Include.ALWAYS)
@SuppressWarnings("all")
public class Interview extends Model<Interview> implements Serializable {

    /**
     * 主键 面试邀约ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 本面试属于哪个hr的
     */
    @TableField(value = "hr_user_id")
    private String hrUserId;

    /**
     * 本面试属于哪一个公司的
     */
    @TableField(value = "company_id")
    private String companyId;

    /**
     * 面试者,候选人id
     */
    @TableField(value = "cand_user_id")
    private String candUserId;

    /**
     * 面试的岗位id
     */
    @TableField(value = "job_id")
    private String jobId;

    /**
     * 面试的岗位名称
     */
    @TableField(value = "job_name")
    private String jobName;

    /**
     * 面试时间
     */
    @TableField(value = "interview_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date interviewTime;

    /**
     * 面试地点
     */
    @TableField(value = "interview_address")
    private String interviewAddress;

    /**
     * 备注信息
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 面试邀约状态
     * 1:等待候选人接受面试
     * 2:候选人已接受面试
     * 3:候选人已拒绝面试
     * 4:HR已取消面试
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 候选人名称
     */
    @TableField(value = "cand_name")
    private String candName;

    /**
     * 候选人头像
     */
    @TableField(value = "cand_face")
    private String candFace;

    /**
     * 候选人职位
     */
    @TableField(value = "cand_position")
    private String candPosition;

}
